AsyncCommand

Ecng.ComponentModel

Async delegate command capable of taking argument.

Наследует: NotifiableObject

Реализует: IRevalidatableCommand, ICommand, IDisposable

Конструкторы

AsyncCommand
public AsyncCommand(Func<T, CancellationToken, Task> execute, Func<T, bool> canExecute, bool allowMultipleExecution)
asyncCommand = AsyncCommand(execute, canExecute, allowMultipleExecution)

Creates a new async command.

execute
The async execution logic.
canExecute
The execution status logic.
allowMultipleExecution
Allow multiple concurrent executions.
AsyncCommand
public AsyncCommand(Func<T, Task> execute, Func<T, bool> canExecute, bool allowMultipleExecution)
asyncCommand = AsyncCommand(execute, canExecute, allowMultipleExecution)

Creates a new async command without cancellation support.

execute
The async execution logic.
canExecute
The execution status logic.
allowMultipleExecution
Allow multiple concurrent executions.

Свойства

CancelCommand
public IRevalidatableCommand CancelCommand { get; }
value = asyncCommand.CancelCommand

Gets the command to cancel the current execution.

IsCancellationRequested
public bool IsCancellationRequested { get; }
value = asyncCommand.IsCancellationRequested

Gets whether cancellation has been requested.

IsExecuting
public bool IsExecuting { get; private set; }
value = asyncCommand.IsExecuting
asyncCommand.IsExecuting = value

Gets whether the command is currently executing.

Методы

Cancel
public void Cancel()
asyncCommand.Cancel()

Cancels the current execution.

CanExecute
public bool CanExecute(object parameter)
result = asyncCommand.CanExecute(parameter)
Dispose
public void Dispose()
asyncCommand.Dispose()

Disposes the command and cancels any pending operation.

Dispose
protected virtual void Dispose(bool disposing)
asyncCommand.Dispose(disposing)

Disposes the command resources.

disposing
True if disposing managed resources.
Execute
public void Execute(object parameter)
asyncCommand.Execute(parameter)
ExecuteAsync
public Task ExecuteAsync(T parameter)
result = asyncCommand.ExecuteAsync(parameter)

Executes the command asynchronously.

parameter
The command parameter.

Возвращает: A task representing the async operation.

RaiseCanExecuteChanged
public void RaiseCanExecuteChanged()
asyncCommand.RaiseCanExecuteChanged()

Invoke CanExecuteChanged event.

События

CanExecuteChanged
public event EventHandler CanExecuteChanged
asyncCommand.CanExecuteChanged += handler